package com.hundun.hddeal.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class GzhExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GzhExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGzhIdIsNull() {
            addCriterion("gzh_id is null");
            return (Criteria) this;
        }

        public Criteria andGzhIdIsNotNull() {
            addCriterion("gzh_id is not null");
            return (Criteria) this;
        }

        public Criteria andGzhIdEqualTo(Long value) {
            addCriterion("gzh_id =", value, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdNotEqualTo(Long value) {
            addCriterion("gzh_id <>", value, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdGreaterThan(Long value) {
            addCriterion("gzh_id >", value, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdGreaterThanOrEqualTo(Long value) {
            addCriterion("gzh_id >=", value, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdLessThan(Long value) {
            addCriterion("gzh_id <", value, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdLessThanOrEqualTo(Long value) {
            addCriterion("gzh_id <=", value, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdIn(List<Long> values) {
            addCriterion("gzh_id in", values, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdNotIn(List<Long> values) {
            addCriterion("gzh_id not in", values, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdBetween(Long value1, Long value2) {
            addCriterion("gzh_id between", value1, value2, "gzhId");
            return (Criteria) this;
        }

        public Criteria andGzhIdNotBetween(Long value1, Long value2) {
            addCriterion("gzh_id not between", value1, value2, "gzhId");
            return (Criteria) this;
        }

        public Criteria andMtNameIsNull() {
            addCriterion("mt_name is null");
            return (Criteria) this;
        }

        public Criteria andMtNameIsNotNull() {
            addCriterion("mt_name is not null");
            return (Criteria) this;
        }

        public Criteria andMtNameEqualTo(String value) {
            addCriterion("mt_name =", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameNotEqualTo(String value) {
            addCriterion("mt_name <>", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameGreaterThan(String value) {
            addCriterion("mt_name >", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameGreaterThanOrEqualTo(String value) {
            addCriterion("mt_name >=", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameLessThan(String value) {
            addCriterion("mt_name <", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameLessThanOrEqualTo(String value) {
            addCriterion("mt_name <=", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameLike(String value) {
            addCriterion("mt_name like", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameNotLike(String value) {
            addCriterion("mt_name not like", value, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameIn(List<String> values) {
            addCriterion("mt_name in", values, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameNotIn(List<String> values) {
            addCriterion("mt_name not in", values, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameBetween(String value1, String value2) {
            addCriterion("mt_name between", value1, value2, "mtName");
            return (Criteria) this;
        }

        public Criteria andMtNameNotBetween(String value1, String value2) {
            addCriterion("mt_name not between", value1, value2, "mtName");
            return (Criteria) this;
        }

        public Criteria andGzhNameIsNull() {
            addCriterion("gzh_name is null");
            return (Criteria) this;
        }

        public Criteria andGzhNameIsNotNull() {
            addCriterion("gzh_name is not null");
            return (Criteria) this;
        }

        public Criteria andGzhNameEqualTo(String value) {
            addCriterion("gzh_name =", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameNotEqualTo(String value) {
            addCriterion("gzh_name <>", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameGreaterThan(String value) {
            addCriterion("gzh_name >", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameGreaterThanOrEqualTo(String value) {
            addCriterion("gzh_name >=", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameLessThan(String value) {
            addCriterion("gzh_name <", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameLessThanOrEqualTo(String value) {
            addCriterion("gzh_name <=", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameLike(String value) {
            addCriterion("gzh_name like", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameNotLike(String value) {
            addCriterion("gzh_name not like", value, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameIn(List<String> values) {
            addCriterion("gzh_name in", values, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameNotIn(List<String> values) {
            addCriterion("gzh_name not in", values, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameBetween(String value1, String value2) {
            addCriterion("gzh_name between", value1, value2, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGzhNameNotBetween(String value1, String value2) {
            addCriterion("gzh_name not between", value1, value2, "gzhName");
            return (Criteria) this;
        }

        public Criteria andGhIdIsNull() {
            addCriterion("gh_id is null");
            return (Criteria) this;
        }

        public Criteria andGhIdIsNotNull() {
            addCriterion("gh_id is not null");
            return (Criteria) this;
        }

        public Criteria andGhIdEqualTo(String value) {
            addCriterion("gh_id =", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdNotEqualTo(String value) {
            addCriterion("gh_id <>", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdGreaterThan(String value) {
            addCriterion("gh_id >", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdGreaterThanOrEqualTo(String value) {
            addCriterion("gh_id >=", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdLessThan(String value) {
            addCriterion("gh_id <", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdLessThanOrEqualTo(String value) {
            addCriterion("gh_id <=", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdLike(String value) {
            addCriterion("gh_id like", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdNotLike(String value) {
            addCriterion("gh_id not like", value, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdIn(List<String> values) {
            addCriterion("gh_id in", values, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdNotIn(List<String> values) {
            addCriterion("gh_id not in", values, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdBetween(String value1, String value2) {
            addCriterion("gh_id between", value1, value2, "ghId");
            return (Criteria) this;
        }

        public Criteria andGhIdNotBetween(String value1, String value2) {
            addCriterion("gh_id not between", value1, value2, "ghId");
            return (Criteria) this;
        }

        public Criteria andGzhUrlIsNull() {
            addCriterion("gzh_url is null");
            return (Criteria) this;
        }

        public Criteria andGzhUrlIsNotNull() {
            addCriterion("gzh_url is not null");
            return (Criteria) this;
        }

        public Criteria andGzhUrlEqualTo(String value) {
            addCriterion("gzh_url =", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlNotEqualTo(String value) {
            addCriterion("gzh_url <>", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlGreaterThan(String value) {
            addCriterion("gzh_url >", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlGreaterThanOrEqualTo(String value) {
            addCriterion("gzh_url >=", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlLessThan(String value) {
            addCriterion("gzh_url <", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlLessThanOrEqualTo(String value) {
            addCriterion("gzh_url <=", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlLike(String value) {
            addCriterion("gzh_url like", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlNotLike(String value) {
            addCriterion("gzh_url not like", value, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlIn(List<String> values) {
            addCriterion("gzh_url in", values, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlNotIn(List<String> values) {
            addCriterion("gzh_url not in", values, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlBetween(String value1, String value2) {
            addCriterion("gzh_url between", value1, value2, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhUrlNotBetween(String value1, String value2) {
            addCriterion("gzh_url not between", value1, value2, "gzhUrl");
            return (Criteria) this;
        }

        public Criteria andGzhLogoIsNull() {
            addCriterion("gzh_logo is null");
            return (Criteria) this;
        }

        public Criteria andGzhLogoIsNotNull() {
            addCriterion("gzh_logo is not null");
            return (Criteria) this;
        }

        public Criteria andGzhLogoEqualTo(String value) {
            addCriterion("gzh_logo =", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoNotEqualTo(String value) {
            addCriterion("gzh_logo <>", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoGreaterThan(String value) {
            addCriterion("gzh_logo >", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoGreaterThanOrEqualTo(String value) {
            addCriterion("gzh_logo >=", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoLessThan(String value) {
            addCriterion("gzh_logo <", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoLessThanOrEqualTo(String value) {
            addCriterion("gzh_logo <=", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoLike(String value) {
            addCriterion("gzh_logo like", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoNotLike(String value) {
            addCriterion("gzh_logo not like", value, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoIn(List<String> values) {
            addCriterion("gzh_logo in", values, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoNotIn(List<String> values) {
            addCriterion("gzh_logo not in", values, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoBetween(String value1, String value2) {
            addCriterion("gzh_logo between", value1, value2, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhLogoNotBetween(String value1, String value2) {
            addCriterion("gzh_logo not between", value1, value2, "gzhLogo");
            return (Criteria) this;
        }

        public Criteria andGzhCodeIsNull() {
            addCriterion("gzh_code is null");
            return (Criteria) this;
        }

        public Criteria andGzhCodeIsNotNull() {
            addCriterion("gzh_code is not null");
            return (Criteria) this;
        }

        public Criteria andGzhCodeEqualTo(String value) {
            addCriterion("gzh_code =", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeNotEqualTo(String value) {
            addCriterion("gzh_code <>", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeGreaterThan(String value) {
            addCriterion("gzh_code >", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeGreaterThanOrEqualTo(String value) {
            addCriterion("gzh_code >=", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeLessThan(String value) {
            addCriterion("gzh_code <", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeLessThanOrEqualTo(String value) {
            addCriterion("gzh_code <=", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeLike(String value) {
            addCriterion("gzh_code like", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeNotLike(String value) {
            addCriterion("gzh_code not like", value, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeIn(List<String> values) {
            addCriterion("gzh_code in", values, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeNotIn(List<String> values) {
            addCriterion("gzh_code not in", values, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeBetween(String value1, String value2) {
            addCriterion("gzh_code between", value1, value2, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhCodeNotBetween(String value1, String value2) {
            addCriterion("gzh_code not between", value1, value2, "gzhCode");
            return (Criteria) this;
        }

        public Criteria andGzhFansIsNull() {
            addCriterion("gzh_fans is null");
            return (Criteria) this;
        }

        public Criteria andGzhFansIsNotNull() {
            addCriterion("gzh_fans is not null");
            return (Criteria) this;
        }

        public Criteria andGzhFansEqualTo(Integer value) {
            addCriterion("gzh_fans =", value, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansNotEqualTo(Integer value) {
            addCriterion("gzh_fans <>", value, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansGreaterThan(Integer value) {
            addCriterion("gzh_fans >", value, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansGreaterThanOrEqualTo(Integer value) {
            addCriterion("gzh_fans >=", value, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansLessThan(Integer value) {
            addCriterion("gzh_fans <", value, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansLessThanOrEqualTo(Integer value) {
            addCriterion("gzh_fans <=", value, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansIn(List<Integer> values) {
            addCriterion("gzh_fans in", values, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansNotIn(List<Integer> values) {
            addCriterion("gzh_fans not in", values, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansBetween(Integer value1, Integer value2) {
            addCriterion("gzh_fans between", value1, value2, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andGzhFansNotBetween(Integer value1, Integer value2) {
            addCriterion("gzh_fans not between", value1, value2, "gzhFans");
            return (Criteria) this;
        }

        public Criteria andFansPicIsNull() {
            addCriterion("fans_pic is null");
            return (Criteria) this;
        }

        public Criteria andFansPicIsNotNull() {
            addCriterion("fans_pic is not null");
            return (Criteria) this;
        }

        public Criteria andFansPicEqualTo(String value) {
            addCriterion("fans_pic =", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicNotEqualTo(String value) {
            addCriterion("fans_pic <>", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicGreaterThan(String value) {
            addCriterion("fans_pic >", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicGreaterThanOrEqualTo(String value) {
            addCriterion("fans_pic >=", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicLessThan(String value) {
            addCriterion("fans_pic <", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicLessThanOrEqualTo(String value) {
            addCriterion("fans_pic <=", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicLike(String value) {
            addCriterion("fans_pic like", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicNotLike(String value) {
            addCriterion("fans_pic not like", value, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicIn(List<String> values) {
            addCriterion("fans_pic in", values, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicNotIn(List<String> values) {
            addCriterion("fans_pic not in", values, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicBetween(String value1, String value2) {
            addCriterion("fans_pic between", value1, value2, "fansPic");
            return (Criteria) this;
        }

        public Criteria andFansPicNotBetween(String value1, String value2) {
            addCriterion("fans_pic not between", value1, value2, "fansPic");
            return (Criteria) this;
        }

        public Criteria andGzhIntroIsNull() {
            addCriterion("gzh_intro is null");
            return (Criteria) this;
        }

        public Criteria andGzhIntroIsNotNull() {
            addCriterion("gzh_intro is not null");
            return (Criteria) this;
        }

        public Criteria andGzhIntroEqualTo(String value) {
            addCriterion("gzh_intro =", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroNotEqualTo(String value) {
            addCriterion("gzh_intro <>", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroGreaterThan(String value) {
            addCriterion("gzh_intro >", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroGreaterThanOrEqualTo(String value) {
            addCriterion("gzh_intro >=", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroLessThan(String value) {
            addCriterion("gzh_intro <", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroLessThanOrEqualTo(String value) {
            addCriterion("gzh_intro <=", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroLike(String value) {
            addCriterion("gzh_intro like", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroNotLike(String value) {
            addCriterion("gzh_intro not like", value, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroIn(List<String> values) {
            addCriterion("gzh_intro in", values, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroNotIn(List<String> values) {
            addCriterion("gzh_intro not in", values, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroBetween(String value1, String value2) {
            addCriterion("gzh_intro between", value1, value2, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andGzhIntroNotBetween(String value1, String value2) {
            addCriterion("gzh_intro not between", value1, value2, "gzhIntro");
            return (Criteria) this;
        }

        public Criteria andPriceFirstIsNull() {
            addCriterion("price_first is null");
            return (Criteria) this;
        }

        public Criteria andPriceFirstIsNotNull() {
            addCriterion("price_first is not null");
            return (Criteria) this;
        }

        public Criteria andPriceFirstEqualTo(Double value) {
            addCriterion("price_first =", value, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstNotEqualTo(Double value) {
            addCriterion("price_first <>", value, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstGreaterThan(Double value) {
            addCriterion("price_first >", value, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstGreaterThanOrEqualTo(Double value) {
            addCriterion("price_first >=", value, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstLessThan(Double value) {
            addCriterion("price_first <", value, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstLessThanOrEqualTo(Double value) {
            addCriterion("price_first <=", value, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstIn(List<Double> values) {
            addCriterion("price_first in", values, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstNotIn(List<Double> values) {
            addCriterion("price_first not in", values, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstBetween(Double value1, Double value2) {
            addCriterion("price_first between", value1, value2, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceFirstNotBetween(Double value1, Double value2) {
            addCriterion("price_first not between", value1, value2, "priceFirst");
            return (Criteria) this;
        }

        public Criteria andPriceSecondIsNull() {
            addCriterion("price_second is null");
            return (Criteria) this;
        }

        public Criteria andPriceSecondIsNotNull() {
            addCriterion("price_second is not null");
            return (Criteria) this;
        }

        public Criteria andPriceSecondEqualTo(Double value) {
            addCriterion("price_second =", value, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondNotEqualTo(Double value) {
            addCriterion("price_second <>", value, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondGreaterThan(Double value) {
            addCriterion("price_second >", value, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondGreaterThanOrEqualTo(Double value) {
            addCriterion("price_second >=", value, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondLessThan(Double value) {
            addCriterion("price_second <", value, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondLessThanOrEqualTo(Double value) {
            addCriterion("price_second <=", value, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondIn(List<Double> values) {
            addCriterion("price_second in", values, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondNotIn(List<Double> values) {
            addCriterion("price_second not in", values, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondBetween(Double value1, Double value2) {
            addCriterion("price_second between", value1, value2, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceSecondNotBetween(Double value1, Double value2) {
            addCriterion("price_second not between", value1, value2, "priceSecond");
            return (Criteria) this;
        }

        public Criteria andPriceOneIsNull() {
            addCriterion("price_one is null");
            return (Criteria) this;
        }

        public Criteria andPriceOneIsNotNull() {
            addCriterion("price_one is not null");
            return (Criteria) this;
        }

        public Criteria andPriceOneEqualTo(Double value) {
            addCriterion("price_one =", value, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneNotEqualTo(Double value) {
            addCriterion("price_one <>", value, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneGreaterThan(Double value) {
            addCriterion("price_one >", value, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneGreaterThanOrEqualTo(Double value) {
            addCriterion("price_one >=", value, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneLessThan(Double value) {
            addCriterion("price_one <", value, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneLessThanOrEqualTo(Double value) {
            addCriterion("price_one <=", value, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneIn(List<Double> values) {
            addCriterion("price_one in", values, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneNotIn(List<Double> values) {
            addCriterion("price_one not in", values, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneBetween(Double value1, Double value2) {
            addCriterion("price_one between", value1, value2, "priceOne");
            return (Criteria) this;
        }

        public Criteria andPriceOneNotBetween(Double value1, Double value2) {
            addCriterion("price_one not between", value1, value2, "priceOne");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Long value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Long value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Long value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Long value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Long value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Long value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Long> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Long> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Long value1, Long value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Long value1, Long value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andTypeNameIsNull() {
            addCriterion("type_name is null");
            return (Criteria) this;
        }

        public Criteria andTypeNameIsNotNull() {
            addCriterion("type_name is not null");
            return (Criteria) this;
        }

        public Criteria andTypeNameEqualTo(String value) {
            addCriterion("type_name =", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameNotEqualTo(String value) {
            addCriterion("type_name <>", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameGreaterThan(String value) {
            addCriterion("type_name >", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameGreaterThanOrEqualTo(String value) {
            addCriterion("type_name >=", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameLessThan(String value) {
            addCriterion("type_name <", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameLessThanOrEqualTo(String value) {
            addCriterion("type_name <=", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameLike(String value) {
            addCriterion("type_name like", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameNotLike(String value) {
            addCriterion("type_name not like", value, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameIn(List<String> values) {
            addCriterion("type_name in", values, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameNotIn(List<String> values) {
            addCriterion("type_name not in", values, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameBetween(String value1, String value2) {
            addCriterion("type_name between", value1, value2, "typeName");
            return (Criteria) this;
        }

        public Criteria andTypeNameNotBetween(String value1, String value2) {
            addCriterion("type_name not between", value1, value2, "typeName");
            return (Criteria) this;
        }

        public Criteria andGzhAgeIsNull() {
            addCriterion("gzh_age is null");
            return (Criteria) this;
        }

        public Criteria andGzhAgeIsNotNull() {
            addCriterion("gzh_age is not null");
            return (Criteria) this;
        }

        public Criteria andGzhAgeEqualTo(Integer value) {
            addCriterion("gzh_age =", value, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeNotEqualTo(Integer value) {
            addCriterion("gzh_age <>", value, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeGreaterThan(Integer value) {
            addCriterion("gzh_age >", value, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeGreaterThanOrEqualTo(Integer value) {
            addCriterion("gzh_age >=", value, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeLessThan(Integer value) {
            addCriterion("gzh_age <", value, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeLessThanOrEqualTo(Integer value) {
            addCriterion("gzh_age <=", value, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeIn(List<Integer> values) {
            addCriterion("gzh_age in", values, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeNotIn(List<Integer> values) {
            addCriterion("gzh_age not in", values, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeBetween(Integer value1, Integer value2) {
            addCriterion("gzh_age between", value1, value2, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhAgeNotBetween(Integer value1, Integer value2) {
            addCriterion("gzh_age not between", value1, value2, "gzhAge");
            return (Criteria) this;
        }

        public Criteria andGzhSexIsNull() {
            addCriterion("gzh_sex is null");
            return (Criteria) this;
        }

        public Criteria andGzhSexIsNotNull() {
            addCriterion("gzh_sex is not null");
            return (Criteria) this;
        }

        public Criteria andGzhSexEqualTo(Integer value) {
            addCriterion("gzh_sex =", value, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexNotEqualTo(Integer value) {
            addCriterion("gzh_sex <>", value, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexGreaterThan(Integer value) {
            addCriterion("gzh_sex >", value, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexGreaterThanOrEqualTo(Integer value) {
            addCriterion("gzh_sex >=", value, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexLessThan(Integer value) {
            addCriterion("gzh_sex <", value, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexLessThanOrEqualTo(Integer value) {
            addCriterion("gzh_sex <=", value, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexIn(List<Integer> values) {
            addCriterion("gzh_sex in", values, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexNotIn(List<Integer> values) {
            addCriterion("gzh_sex not in", values, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexBetween(Integer value1, Integer value2) {
            addCriterion("gzh_sex between", value1, value2, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhSexNotBetween(Integer value1, Integer value2) {
            addCriterion("gzh_sex not between", value1, value2, "gzhSex");
            return (Criteria) this;
        }

        public Criteria andGzhPriceIsNull() {
            addCriterion("gzh_price is null");
            return (Criteria) this;
        }

        public Criteria andGzhPriceIsNotNull() {
            addCriterion("gzh_price is not null");
            return (Criteria) this;
        }

        public Criteria andGzhPriceEqualTo(Integer value) {
            addCriterion("gzh_price =", value, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceNotEqualTo(Integer value) {
            addCriterion("gzh_price <>", value, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceGreaterThan(Integer value) {
            addCriterion("gzh_price >", value, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("gzh_price >=", value, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceLessThan(Integer value) {
            addCriterion("gzh_price <", value, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceLessThanOrEqualTo(Integer value) {
            addCriterion("gzh_price <=", value, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceIn(List<Integer> values) {
            addCriterion("gzh_price in", values, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceNotIn(List<Integer> values) {
            addCriterion("gzh_price not in", values, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceBetween(Integer value1, Integer value2) {
            addCriterion("gzh_price between", value1, value2, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andGzhPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("gzh_price not between", value1, value2, "gzhPrice");
            return (Criteria) this;
        }

        public Criteria andFansTypeIsNull() {
            addCriterion("fans_type is null");
            return (Criteria) this;
        }

        public Criteria andFansTypeIsNotNull() {
            addCriterion("fans_type is not null");
            return (Criteria) this;
        }

        public Criteria andFansTypeEqualTo(Integer value) {
            addCriterion("fans_type =", value, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeNotEqualTo(Integer value) {
            addCriterion("fans_type <>", value, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeGreaterThan(Integer value) {
            addCriterion("fans_type >", value, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("fans_type >=", value, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeLessThan(Integer value) {
            addCriterion("fans_type <", value, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeLessThanOrEqualTo(Integer value) {
            addCriterion("fans_type <=", value, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeIn(List<Integer> values) {
            addCriterion("fans_type in", values, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeNotIn(List<Integer> values) {
            addCriterion("fans_type not in", values, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeBetween(Integer value1, Integer value2) {
            addCriterion("fans_type between", value1, value2, "fansType");
            return (Criteria) this;
        }

        public Criteria andFansTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("fans_type not between", value1, value2, "fansType");
            return (Criteria) this;
        }

        public Criteria andCityPicIsNull() {
            addCriterion("city_pic is null");
            return (Criteria) this;
        }

        public Criteria andCityPicIsNotNull() {
            addCriterion("city_pic is not null");
            return (Criteria) this;
        }

        public Criteria andCityPicEqualTo(String value) {
            addCriterion("city_pic =", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicNotEqualTo(String value) {
            addCriterion("city_pic <>", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicGreaterThan(String value) {
            addCriterion("city_pic >", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicGreaterThanOrEqualTo(String value) {
            addCriterion("city_pic >=", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicLessThan(String value) {
            addCriterion("city_pic <", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicLessThanOrEqualTo(String value) {
            addCriterion("city_pic <=", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicLike(String value) {
            addCriterion("city_pic like", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicNotLike(String value) {
            addCriterion("city_pic not like", value, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicIn(List<String> values) {
            addCriterion("city_pic in", values, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicNotIn(List<String> values) {
            addCriterion("city_pic not in", values, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicBetween(String value1, String value2) {
            addCriterion("city_pic between", value1, value2, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCityPicNotBetween(String value1, String value2) {
            addCriterion("city_pic not between", value1, value2, "cityPic");
            return (Criteria) this;
        }

        public Criteria andCtiyOneIsNull() {
            addCriterion("ctiy_one is null");
            return (Criteria) this;
        }

        public Criteria andCtiyOneIsNotNull() {
            addCriterion("ctiy_one is not null");
            return (Criteria) this;
        }

        public Criteria andCtiyOneEqualTo(String value) {
            addCriterion("ctiy_one =", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneNotEqualTo(String value) {
            addCriterion("ctiy_one <>", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneGreaterThan(String value) {
            addCriterion("ctiy_one >", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneGreaterThanOrEqualTo(String value) {
            addCriterion("ctiy_one >=", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneLessThan(String value) {
            addCriterion("ctiy_one <", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneLessThanOrEqualTo(String value) {
            addCriterion("ctiy_one <=", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneLike(String value) {
            addCriterion("ctiy_one like", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneNotLike(String value) {
            addCriterion("ctiy_one not like", value, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneIn(List<String> values) {
            addCriterion("ctiy_one in", values, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneNotIn(List<String> values) {
            addCriterion("ctiy_one not in", values, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneBetween(String value1, String value2) {
            addCriterion("ctiy_one between", value1, value2, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyOneNotBetween(String value1, String value2) {
            addCriterion("ctiy_one not between", value1, value2, "ctiyOne");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoIsNull() {
            addCriterion("ctiy_two is null");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoIsNotNull() {
            addCriterion("ctiy_two is not null");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoEqualTo(String value) {
            addCriterion("ctiy_two =", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoNotEqualTo(String value) {
            addCriterion("ctiy_two <>", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoGreaterThan(String value) {
            addCriterion("ctiy_two >", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoGreaterThanOrEqualTo(String value) {
            addCriterion("ctiy_two >=", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoLessThan(String value) {
            addCriterion("ctiy_two <", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoLessThanOrEqualTo(String value) {
            addCriterion("ctiy_two <=", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoLike(String value) {
            addCriterion("ctiy_two like", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoNotLike(String value) {
            addCriterion("ctiy_two not like", value, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoIn(List<String> values) {
            addCriterion("ctiy_two in", values, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoNotIn(List<String> values) {
            addCriterion("ctiy_two not in", values, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoBetween(String value1, String value2) {
            addCriterion("ctiy_two between", value1, value2, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyTwoNotBetween(String value1, String value2) {
            addCriterion("ctiy_two not between", value1, value2, "ctiyTwo");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeIsNull() {
            addCriterion("ctiy_three is null");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeIsNotNull() {
            addCriterion("ctiy_three is not null");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeEqualTo(String value) {
            addCriterion("ctiy_three =", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeNotEqualTo(String value) {
            addCriterion("ctiy_three <>", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeGreaterThan(String value) {
            addCriterion("ctiy_three >", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeGreaterThanOrEqualTo(String value) {
            addCriterion("ctiy_three >=", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeLessThan(String value) {
            addCriterion("ctiy_three <", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeLessThanOrEqualTo(String value) {
            addCriterion("ctiy_three <=", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeLike(String value) {
            addCriterion("ctiy_three like", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeNotLike(String value) {
            addCriterion("ctiy_three not like", value, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeIn(List<String> values) {
            addCriterion("ctiy_three in", values, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeNotIn(List<String> values) {
            addCriterion("ctiy_three not in", values, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeBetween(String value1, String value2) {
            addCriterion("ctiy_three between", value1, value2, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andCtiyThreeNotBetween(String value1, String value2) {
            addCriterion("ctiy_three not between", value1, value2, "ctiyThree");
            return (Criteria) this;
        }

        public Criteria andReadNumIsNull() {
            addCriterion("read_num is null");
            return (Criteria) this;
        }

        public Criteria andReadNumIsNotNull() {
            addCriterion("read_num is not null");
            return (Criteria) this;
        }

        public Criteria andReadNumEqualTo(Integer value) {
            addCriterion("read_num =", value, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumNotEqualTo(Integer value) {
            addCriterion("read_num <>", value, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumGreaterThan(Integer value) {
            addCriterion("read_num >", value, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("read_num >=", value, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumLessThan(Integer value) {
            addCriterion("read_num <", value, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumLessThanOrEqualTo(Integer value) {
            addCriterion("read_num <=", value, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumIn(List<Integer> values) {
            addCriterion("read_num in", values, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumNotIn(List<Integer> values) {
            addCriterion("read_num not in", values, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumBetween(Integer value1, Integer value2) {
            addCriterion("read_num between", value1, value2, "readNum");
            return (Criteria) this;
        }

        public Criteria andReadNumNotBetween(Integer value1, Integer value2) {
            addCriterion("read_num not between", value1, value2, "readNum");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNull() {
            addCriterion("update_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNotNull() {
            addCriterion("update_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateEqualTo(Date value) {
            addCriterion("update_date =", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotEqualTo(Date value) {
            addCriterion("update_date <>", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThan(Date value) {
            addCriterion("update_date >", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("update_date >=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThan(Date value) {
            addCriterion("update_date <", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("update_date <=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIn(List<Date> values) {
            addCriterion("update_date in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotIn(List<Date> values) {
            addCriterion("update_date not in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateBetween(Date value1, Date value2) {
            addCriterion("update_date between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("update_date not between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}